MySQL ORDER BY DESC |
您所在的位置:网站首页 › select desc › MySQL ORDER BY DESC |
MySQL ORDER BY DESC是MySQL中的一个ORDER BY子句,它负责在获取结果行时对数据库记录进行排序。 基本上,ORDER BY子句使用属性来指定表记录的排序顺序。因此,我们需要在这个查询命令的ORDER BY子句中包括ASC或DESC修饰符。 这些属性与ORDER BY子句一起,使结果表中的行的排列以升序或降序显示。但是默认情况下,当没有向ORDER BY子句提供修饰符时,其值将被设置为ASC。因此,我们将实现ORDER BY DESC查询,使结果中的行以降序排列。 语法 下面的语法是一个简单的结构,用于在MySQL数据库查询中应用ORDER BY DESC子句。 SELECT ColumnName1, ColumnName2, ….FROM TableName WHERE Cond_Expr ORDER BY ColumnName1 DESC, ColumnName2DESC,….ColumnNameNDESC; 语法解释如下。 为了应用ORDER BY DESC子句,我们将使用SELECT语句来写一个查询。 ColumnName表示用户希望获取的表列的名称。 TableName表示查询中包含的表的名称。 WHERE子句定义了为表提供结果而应用的条件表达式,如果需要,这是一个可选条件。然而,如果条件被匹配,那么所选的行将被显示在结果集中。 带有DESC的ORDER BY子句定义了具有特定列名的排序结构。 ORDER BY DESC在MySQL中是如何工作的? 在MySQL查询中执行SELECT语句将从特定的表中获取数据记录;然后,你会注意到提供的结果行表不是以有序的形式出现。因此,为了以排序列表的方式呈现结果集,我们需要在SELECT查询中添加MySQL ORDER BY子句。 在ORDER BY子句的帮助下,你可以用任何特定的列名对行进行排序。为了进一步使结果以排序的形式显示,即增加或减少的顺序,我们将使用关键字ASC或DESC,它定义了这个ORDER BY子句的属性。 DESC关键字与ORDER BY子句一起使用,使记录以递减的顺序检索。我们可以在ORDER BY子句后指定一个或多个需要排序的表列,但应以逗号来分隔列的列表。在这里,你应该注意,不同的列可以用ASC或DESC关键字在ORDER BY后根据所述的语法进行不同的排序。就像下面这个。SELECT ColumnName1, ColumnName2, …. FROM TableName ORDER BY ColumnName1 ASC, ColumnName2 DESC,….ColumnNameN [ASC | DESC]; 因此,这将通过以明确的方式重新排列结果行来排序。 MySQL ORDER BY DESC的例子让我们演示一些使用ORDER BY DESC子句的例子,看看它在MySQL中的用途和工作。 例子#1 - MySQL使用一个表列的ORDER BY DESC假设,为了说明问题,我们将在我们的数据库中采取一个名为Customer的样本表,它有CusotmerID、CutomerName、Credit_Limit和City等字段。查看该表的内容如下。 SELECT * FROM Customer; 输出。 让我们从Customer表中查询数据记录,使用ORDER BY子句来显示结果,但不包括属性。 SELECT CustomerID, CustomerName, City FROM Customer ORDER BY CustomerName; 输出。 从上面的输出可以看出,通过省略ASC和DESC关键字,结果行默认以升序排序。 现在,让我们使用MySQL ORDER BY DESC子句写一个查询,按特定的表列以降序排序查询结果集。 SELECT CustomerID, CustomerName, City FROM Customer ORDER BY CustomerName DESC; 输出。 通过使用带有ORDER BY子句的DESC修饰符,以递减顺序排列的方式对内容进行排序,可以看到其中的差别。例如,查询中的CustomerName列是用ORDER BY DESC指定的。 例子#2 - 使用多个表列的MySQL ORDER BY DESC我们将在查询中使用MySQL ORDER BY DESC子句与表的多个列,并查看执行后的结果集。对同一表Customer进行查询的MySQL语句与前面的一样,如下所示。 SELECTCustomerID, CustomerName, City FROM Customer ORDER BY CustomerName DESC, City DESC; 输出。 在这里,我们在ORDER BY子句后的两个列名中使用了DESC关键字,以产生降序排列的结果集。因此,在一个列被添加了DESC而另一个没有的情况下,它将自动以升序进行排序。 例子#3 - MySQL ORDER BY DESC使用WHERE子句假设我们需要生成信用额度大于或等于3000的客户的结果集,在同一查询中使用ORDER BY DESC子句来获取结果行。我们将用WHERE子句查询记录,如下所示。 SELECT CustomerName, City, Credit_LimitFROM Customer WHERE Credit_Limit>=3000 ORDER BY City DESC; 输出。 我们将应用LIMIT子句,该子句是可选的,为获取的结果行提供限制。我们将与ORDER BY DESC子句一起,在最后使用LIMIT选项来查看结果。让我们把前面的例子稍作修改,如下所示。 SELECT * FROM Customer WHERE Credit_Limit>=1500 ORDER BY Credit_Limit DESC; 输出。 在这里,我们简单地检索了有6行的结果,按信用额度列和WHERE子句排序。现在,使用LIMIT,该查询变得如下。 SELECT * FROM Customer WHERE Credit_Limit>=1500 ORDER BY Credit_LimitDESC LIMIT 3; 输出。 现在,请看输出结果;如上所述,结果行数减少到3行,而且信用额度是降序排列的,如上文查询中所述。 结论ORDER BY子句伴随着DESC修改器属性,定义了在查询中获取表行的排序顺序。如果在查询中没有为ORDER BY子句指定任何属性,那么,结果行将默认为递增的顺序。 在MySQL中,ORDER BY DESC子句可以应用于SELECT LIMIT语句、SELECT语句和DELETE LIMIT语句。 推荐文章这是一个关于MySQL ORDER BY DESC的指南。这里我们讨论了ORDER BY DESC如何在MySQL中工作,以及与输出有关的例子。你也可以看看下面的文章,以了解更多信息 MySQL的REPLACE MySQL唯一索引(UNIQUE INDEX MySQL SYSDATE() PostgreSQL DATE_PART()The postMySQL ORDER BY DESCappeared first onEDUCBA. |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |